Home

wechall Regex正则

2019/04/02

Level 1

匹配空字

/^$/

Level 2

匹配wechall

/^wechall$/

Level 3

从这道题开始被自己蠢哭!!!!
一开始最后面没有加$,然后出现提示:

Your pattern would match “wechall.jpg “, but it should not match it.

意思是不能匹配“wechal.jpn (后面有个空格)”,但是我现在的答案是能匹配的,所以现在的答案是错误的
然而我当时一晃神看成了我需要匹配“wechal.jpn (后面有个空格)”,然后在这个空格上面死磕了好久,被自己蠢哭

匹配文件名为wechall或者wechall4,后缀为图片格式的后缀

/^wechall4?\.(?:jpg|gif|tiff|bmp|png)$/

Level 4

匹配和level 3的要求一样,但是还要求捕获文件名(wehall/wechall4)但不捕获文件后缀名

/^(wechall4?)\.(?:jpg|gif|tiff|bmp|png)$/

这里后面的后缀名的非捕获组要使用“?:”而不是“?=”,是因为“?=”(正向肯定预查)不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

表达式 描述
(exp) 匹配并捕获(捕获组)
(?:exp) 匹配但不捕获(非捕获组,只分组而不捕获)
(?=exp) 正向肯定预查,匹配查找但不捕获(非捕获组,只分组而不捕获)